As more and more people use electronic devices to manage data such as contacts, appointments, notes, etc., the opportunity to access that data from multiple devices increases. For example, a single user may want to access his personal calendar from his/her home computer, office computer, and personal digital assistant (PDA). In addition, more than one user may wish to share data such as a list of common contacts with names, addresses, telephone numbers, etc. If the data is modified on one device, but not the others, a synchronization session is required to bring all the devices up to date.
Typically, during a synchronization session, the older versions of data are replaced by more recent versions of data based on a time stamp associated with the data field. However, this simple replacement approach presents certain drawbacks. First, if a particular field of data is modified by more than one user before a synchronization session occurs, neither version may be the “correct” version. For example, if the field is titled “client notes” and is shared by more than one employee who services that client, a first employee may modify the notes to reflect his experience that day while another employee also modifies the notes to reflect his experiences that day. Neither one of the new versions in this example has both sets of notes because there was no synchronization session in-between the two data entries. Present systems select the version that was made later in the day to the detriment of the other version. This method is arbitrary and loses valuable data.
Another typical method used in synchronization sessions is to request the user to choose between conflicting changes to a synchronized record. This approach also presents certain drawbacks. First, the time required for a user to make choices can be very time consuming and burdensome. Second, different users in a synchronized work group may make conflicting decisions. As a result, another synchronization session is required.
Yet, another problem that both the simple replacement approach and the user query approach present is that if incorrect data is entered on top of correct data by one user, all copies of the correct data are lost after the synchronization session. For example, if a user enters a contact's home phone number in a work phone number field and then updates all the other devices via a synchronization session, that contact's work phone number is lost.